package com.gitee.swsk33.mybatisdemo.config;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.InputStream;

/**
 * 用于创建MyBatis的SqlSessionFactory的配置类
 */
public class MySessionFactory {

	private static SqlSessionFactory sessionFactory;

	/**
	 * 获取SqlSessionFactory对象
	 *
	 * @return 当前SqlSessionFactory对象
	 */
	public static SqlSessionFactory getSqlSessionFactory() {
		return sessionFactory;
	}

	/**
	 * 从XML配置文件读取配置并创建SqlSessionFactory对象
	 */
	public static void createSqlSessionFactory() {
		try {
			// 读取配置文件，参数是classpath路径，classpath的根路径(/)对应Maven工程的src/main/resources目录，这里必须使用相对路径，相对于classpath根路径的路径
			InputStream inputStream = Resources.getResourceAsStream("config/mybatis-config.xml");
			sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}